home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / IFRSIM.DSK / CONWAY NDB.bas < prev    next >
BASIC Source File  |  2014-09-09  |  4KB  |  136 lines

  1. 5  REM        COPYRIGHT 1982
  2. 6  REM      BY VERNON BROWN AND
  3. 7  REM    PROGRAMAMERS SOFTWARE
  4. 9  REM 
  5. 10  REM  ***********************
  6. 11  REM  * CONWAY NDB BUILT    *
  7. 12  REM  *    FROM SEED        *
  8. 13  REM  *                     *
  9. 14  REM  * USED TO CREATE NEW  *
  10. 15  REM  * IFR SITUATIONS FOR  *
  11. 16  REM  * PROGRAMMERS FLIGHT  *
  12. 17  REM  *     SIMULATOR       *
  13. 18  REM  ***********************
  14. 19  REM 
  15. 20 S = 100:S1 = 0:UP = 24579
  16. 70 ST = 24576:O1 = ST +56:O2 = ST +58:I1 = ST +60:I2 = ST +61:MA = ST +12:X1 = ST +26:Y1 = ST +28:AL = ST +87
  17. 120 SH = ST +09:PL = ST +06:LI = ST +15:XY = ST +18:DF = ST +39:CH = ST +93:WS = ST +42:WW = ST +43:WN = ST +44:WE = ST +45
  18. 170  REM 
  19. 220  REM  PX=PICTURE OFFSET
  20. 221  REM  XL=POINTER LOW BYTE
  21. 222  REM  XH=POINTER HIGH BYTE
  22. 223  REM  XX=DOIT FLAG
  23. 270  REM 
  24. 320 PX = 27388:XL = 27389:XH = 27390:XX = 27391: POKE PX,00: POKE XL,00: POKE XH,72: POKE XX,00
  25. 370  REM 
  26. 420  REM 
  27. 470 XC = 100:YC = 100:XF = 100:YF = 100:TX = 100:TY = 100
  28. 520  TEXT : GOSUB 5570
  29. 570 MT = 15:GAS = 0:MI = 0:SE = 0:S1 = 0
  30. 620  REM 
  31. 670  REM   SET UP WIND DRIFT
  32. 720  REM 
  33. 770  POKE WN,0: POKE WE,0: POKE WS,0: POKE WW,0
  34. 820 A% =  RND(1) *4:B% =  RND(1) *50
  35. 870  ON A% GOTO 920,970,1020,1070
  36. 920  POKE WN,B%: GOTO 1120
  37. 970  POKE WE,B%: GOTO 1120
  38. 1020  POKE WS,B%: GOTO 1120
  39. 1070  POKE WW,B%: GOTO 1120
  40. 1120  CALL ST
  41. 1170  POKE O1,32: POKE O2,32: POKE I1,48: POKE I2,48
  42. 1220  REM 
  43. 1270  REM 
  44. 1320  REM  OMNI MESSAGE AND
  45. 1370  REM  STARTING X Y CORD
  46. 1420  REM 
  47. 1470  VTAB 22: REM   OMNI MESSAGE
  48. 1520  POKE X1,90: POKE Y1,90
  49. 1570  REM 
  50. 1620  REM  STARTING ALTITUDE
  51. 1670  REM 
  52. 1720  POKE AL,16: POKE AL -3,32:MA% = 7
  53. 1770  REM 
  54. 1820  REM 
  55. 1870  CALL UP
  56. 1920 S1 = S1 +1: IF S1 >S  THEN 2170
  57. 1970  GOTO 1870
  58. 2020  REM  
  59. 2070  REM    UPDATE THE CLOCK
  60. 2120  REM  
  61. 2170 S1 = 0:SE = SE +1: IF SE <60  THEN 2320
  62. 2220 SE = 0:MI = MI +1:GA = GA +1: IF GA = MT  THEN 4870
  63. 2270  CALL UP
  64. 2320  HTAB 1: VTAB 24: PRINT HO;":";MI;":";SE;"     ";: CALL UP
  65. 2370  REM 
  66. 2420  REM    MOVE THE PICTURE
  67. 2470  REM 
  68. 2520  REM 
  69. 2570  REM   DO THE ADF AND OMNI
  70. 2620  REM 
  71. 2670 X =  PEEK(X1):Y =  PEEK(Y1)
  72. 2720 IX = XF -X:IY = YF -Y:DY = X -Y:DX = XC -X
  73. 2770 MV% = (TX -X) *4: IF MV% < -20  OR MV% >20  THEN MV% = 40
  74. 2820  IF MV% <0  THEN MV% = 80 +MV%
  75. 2870  IF TY -Y < -20  OR TY -Y >20  THEN MV% = 40
  76. 2920  REM 
  77. 2970  REM  DO THE ADF
  78. 3020  REM 
  79. 3070  CALL UP
  80. 3120  IF IX = 0  THEN 3220
  81. 3170 IT = IY/IX
  82. 3220 T1 =  ATN(IT)
  83. 3270 T1% = 16 -10 *T1
  84. 3320  IF X >XF  THEN PF% = (176 -T1%) - PEEK(CH)
  85. 3370  IF X <XF  THEN PF% = (208 -T1%) - PEEK(CH)
  86. 3420  IF PF% >64  THEN PF% = PF% -64: GOTO 3420
  87. 3470  POKE DF,PF%
  88. 3520  REM 
  89. 3570  REM   DO THE OMNI
  90. 3620  REM 
  91. 3670  CALL UP
  92. 3720  IF DY < -5  THEN DY =  -6
  93. 3770  IF DY >5  THEN DY = 6
  94. 3820  IF DX < -5  THEN DX =  -6
  95. 3870  IF DX >5  THEN DX = 6
  96. 3920  IF DI >5  THEN DI = 6
  97. 3970  IF DI < -5  THEN DI =  -6
  98. 4020  POKE O1,32 -DX: POKE I1,48
  99. 4070  POKE O2,32 -DX: POKE I2,48
  100. 4120  REM 
  101. 4170  REM   DO THE GLIDE SLOPE
  102. 4220  REM 
  103. 4270  CALL UP
  104. 4320  IF  PEEK(ALT) <MA%  THEN 4870
  105. 4370 SL = X -66:DI =  PEEK(ALT) *70 -SL
  106. 4420  IF DI >5  THEN DI = 6
  107. 4470  IF DI < -5  THEN DI =  -6
  108. 4520  IF SL >40  THEN 4670
  109. 4570  IF SL < -10  THEN 4670
  110. 4620  POKE I2,48
  111. 4670  IF  PEEK(AL) >2  THEN 1870
  112. 4720  REM 
  113. 4770  REM   DO THE AIRPORT
  114. 4820  REM 
  115. 4870  POKE PX,MV%: POKE XX,00: CALL UP: CALL UP: POKE XX,01: FOR I = 0 TO 391: CALL UP: NEXT : PRINT : PRINT "PUSH ANY KEY TO CONTINUE"
  116. 4880  POKE XX,00
  117. 4920  GET A$
  118. 4970  REM    FIRST THE FLIGHT PATH
  119. 5020  HGR : HCOLOR= 3: CALL 24588
  120. 5030  HPLOT 90,100: HPLOT  TO 100,100
  121. 5040  HPLOT 95,100: HPLOT  TO 95,105
  122. 5070  REM     
  123. 5120  REM    THEN THE NAV TRACK
  124. 5170  REM 
  125. 5220  FOR X = 105 TO 250  STEP 4
  126. 5230 Y = 50 +X/2: HPLOT X,Y
  127. 5240  NEXT 
  128. 5270  HOME : VTAB 23: PRINT "PUSH RETURN TO FLY THIS AGAIN": PRINT "ANY OTHER KEY WILL GO BACK TO MENU": GET A$
  129. 5320  IF  ASC(A$) = 13  THEN 520
  130. 5370  PRINT  CHR$(4)
  131. 5420  PRINT  CHR$(4);"RUN MENU"
  132. 5470  END 
  133. 5520  REM 
  134. 5570  TEXT : HOME : PRINT "YOU ARE CLEARED"
  135. 5580  PRINT : PRINT "FOR THE CONWAY NDB APPROACH": PRINT : PRINT "VOR IS SET TO LIT 328 DEGREES FROM"
  136. 5620  PRINT : PRINT "HIT ANY KEY WHEN READY TO FLY": GET A$: HOME : RETURN